home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 63.zip / BS1 part 63 / Video Tracker dev. kit d1.adf / Source / Stars.s < prev    next >
Text File  |  1993-08-09  |  35KB  |  1,738 lines

  1. rout            ;when this is off, the routine-file will be
  2.             ;assembled, on=testing
  3.             
  4. ;debug            ;when this is on, colors in the background will
  5.             ;show how much time the routine needs.
  6.  
  7.  
  8. routinemode    equ    $0002    ;the routinemode !
  9.  
  10.  
  11. ; the first part of the source handles the things that are necessary to
  12. ; show the picture/copper and playing of the routine.
  13. ; the part between the "***" lines is the routine-source.
  14. ; at the bottom of the file, there are the necessary incbin-files who
  15. ; are needed to test the routine.
  16. ; these are saved with "save effect" in videotracker. they are raw
  17. ; data files which can be fonts,pictures,landscapes,vectorobjects
  18. ; etcetra.
  19. ; the incbin-files are put in the "variables" table, in the routine-
  20. ; player-handler
  21. ; the place where it's done can be found by searching for "!!!"
  22.  
  23.  
  24.     opt    a+    ;devpac 3 optimize
  25.     opt    o+
  26.  
  27.     ifd    rout
  28.     
  29.     ;videotracker routine-test
  30.  
  31.     incdir    "videotracker:include/"
  32.     include    "exec/types.i"
  33.     include    "graphics/gfxbase.i"
  34.     include    "lvo/graphics_lib.i"
  35.     incdir    'videotracker:effect/'
  36.  
  37. vew_wid    equ    44
  38. vew_hgt    equ    290
  39. win_hgt    equ    117
  40. win_str    equ    $1a
  41.  
  42.     SECTION    1,CODE_C
  43. tus
  44.  
  45.     lea    var,a0            ;communication-table
  46. ;    move.l    #rotinc,var_cols1(a0)    ;incbinfile !!!
  47.  
  48.     move.l    ($4).w,a6
  49.     sub.l    a1,a1
  50.     jsr    -$126(a6)        ;findtask
  51.     move.l    d0,curtsk
  52.     move.l    d0,a0
  53.     move.l    $b8(a0),tskpri
  54.  
  55.     lea    dosnam,a1        ;doslib openen
  56.     moveq.l    #0,d0
  57.     move.l    (4).w,a6
  58.     jsr    -408(a6)        ;openlib
  59.     move.l    d0,doslib
  60.  
  61.     bsr.s    label5            ;videotracker opstarten
  62.     
  63.     move.l    curtsk,a0
  64.     move.l    tskpri,$b8(a0)
  65.     move.l    ($4).w,a6
  66.     jsr    -$84(a6)        ;forbid
  67.  
  68.     move.l    doslib,a1
  69.     move.l    (4).w,a6
  70.     jsr    -414(a6)        ;closelib
  71.  
  72.     moveq.l    #0,d0
  73.     rts
  74.     
  75. label5
  76.     move.l    (4).w,a6        ;workbench gedoe
  77.     move.b    530(a6),ntscmode    ;50/60 hertz halen
  78.  
  79.     cmp.b    #50,ntscmode        ;ntsc ?
  80.     beq.s    str.ntsc
  81.     move.l    #vew_hgt-56,hogscr    ;set NTSC screen hight
  82. str.ntsc
  83.  
  84.     move.l    (4).w,a6        ;68030 cache off 
  85.     jsr    -120(a6)
  86.  
  87.     btst.b    #1,297(a6)
  88.     beq.s    str.nfc
  89.     lea.l    str.ft,a5
  90.     jsr    -30(a6)
  91. str.nfc
  92.     jsr    -126(a6)
  93.     bra.s    str.fc
  94.     
  95. str.ft
  96.     dc.w    $4e7a,2
  97.     bclr    #0,d0
  98.     bset    #13,d0
  99.     dc.w    $4e7b,2
  100.     rte
  101. str.fc
  102.  
  103.     lea    cprjmp,a2        ;copjmp zetten !
  104.     move.l    #cprbck-8,d0
  105.     move.w    d0,6(a2)
  106.     swap    d0
  107.     move.w    d0,2(a2)
  108.  
  109.     lea    cprbck-8,a2        ;copstr zetten !
  110.     move.l    #cpr,d0
  111.     move.w    d0,6(a2)
  112.     swap    d0
  113.     move.w    d0,2(a2)
  114.  
  115.     bsr    cprsprrem        ;sprites legen
  116.  
  117.     lea    gfxnam,a1        ;graphics lib openen
  118.     move.l    (4).w,a6
  119.     jsr    -408(a6)        ;openlib
  120.     move.l    d0,a6
  121.     move.l    d0,gfxlib
  122.     move.l    38(a6),oldcprlist
  123.  
  124.     bset    #1,$bfe001
  125.     bsr    copbuf            ;copper vullen
  126.  
  127.     bsr    sysoff
  128.  
  129. gadrun
  130.     btst    #6,($bfe001).l
  131.     bne    gadrun
  132.  
  133. scrend
  134. scrend.play
  135.     bsr    syson
  136.  
  137.     move.l    gfxlib,a1
  138.     move.l    (4).w,a6
  139.     jsr    -414(a6)        ;closelib
  140.  
  141. scrend.qb
  142.     moveq.l    #0,d0    
  143.     rts
  144.     
  145.     ;vertical blank interrupt, no blits.
  146.     ;handles counters,interlace,sprite
  147.     ;level 3
  148.  
  149. intvb
  150.     bra.s    intvb.cnt
  151.     dc.l    'VIDU'
  152.     dc.l    'LOOP'
  153. intvb.cnt
  154.     movem.l    d0-d7/a0-a6,-(sp)
  155.     lea    ($dff000).l,a6
  156.  
  157.     move.w    $01e(a6),d0
  158.     btst    #5,d0            ;vblank ?
  159.     bne.s    intvb.vb
  160.  
  161.     bra.s    intcop.end
  162.  
  163. intvb.vb
  164.     bsr    grap
  165.     bsr    palctr            ;palette zetten
  166.     bsr.s    copbuf            ;copper vullen
  167.     
  168. intvb.end
  169.     move.w    #$0020,$09c(a6)    ;vb bit wissen
  170.     movem.l    (sp)+,d0-d7/a0-a6    ;multitask uit, shit !
  171.     rte
  172.  
  173. intcop.end
  174.     movem.l    (sp)+,d0-d7/a0-a6
  175.     move.l    intvbold,-(sp)
  176.     rts
  177.  
  178.     ;transmission buffer empty routine, BLIT !
  179.     ;handles routines,animations
  180.     
  181. inttbe                    ;tbe interrupt
  182.     movem.l    d0-d7/a0-a6,-(sp)
  183.     lea    ($dff000).l,a6
  184.  
  185.     move.w    $01e(a6),d0
  186.     btst    #0,d0            ;no tbe ?
  187.     beq.s    intdskblk
  188.  
  189.  
  190.     btst    #6,($bfe001).l        ;muis ingedrukt ?
  191.     beq.s    inttbe.cop
  192.     btst    #2,($dff016).l
  193.     beq.s    inttbe.cop
  194.  
  195.     ifd    debug
  196.     move.w    #$700,$dff180
  197.     endc
  198.     
  199.     bsr    rotply            ;routineplayer BLIT !
  200.     bsr.s    copbuf            ;copper vullen
  201.  
  202.     ifd    debug
  203.     move.w    #$070,$dff180
  204.     endc
  205.     
  206. inttbe.cop
  207.  
  208. inttbe.end
  209.     move.w    #$0001,$09c(a6)
  210.     movem.l    (sp)+,d0-d7/a0-a6
  211.     rte
  212.  
  213. intdskblk
  214.     move.w    #$0001,$09c(a6)        ;be sure for no tbe handling
  215.     movem.l    (sp)+,d0-d7/a0-a6
  216.     move.l    inttbeold,-(sp)
  217.     rts
  218.  
  219.  
  220.     ;moves the copperbuffer to the copperlist
  221.     ;sort of double buffering
  222.     
  223. copbuf
  224.     movem.l    d0-d7/a0-a6,-(sp)
  225.  
  226.     lea    ($dff000).l,a6
  227.  
  228. copbuf.novb                ;copperchange overslaan
  229.     moveq.l    #0,d0
  230.     move.b    $005(a6),d0
  231.     lsl.w    #8,d0
  232.     moveq.l    #0,d1
  233.     move.b    $006(a6),d1
  234.     add.w    d1,d0
  235.  
  236.     cmp.w    #$4,d0
  237.     blt    copbuf.novb
  238.  
  239.     cmp.b    #50,ntscmode
  240.     beq.s    copbuf.pal
  241.     cmp.w    #$133-56-8,d0        ;ntsc grens
  242.     bge    copbuf.novb
  243.     bra.s    copbuf.cont
  244. copbuf.pal
  245.     cmp.w    #$133-8,d0        ;pal grens
  246.     bge    copbuf.novb
  247. copbuf.cont
  248.  
  249.     lea    gra.s,a0        ;buffer copieren
  250.     lea    cprbuf,a1
  251.  
  252.     move.w    00*4+2(a0),00*4+2(a1)
  253.     move.w    01*4+2(a0),01*4+2(a1)
  254.     move.w    02*4+2(a0),02*4+2(a1)
  255.     move.w    03*4+2(a0),03*4+2(a1)
  256.     move.w    04*4+2(a0),04*4+2(a1)
  257.     move.w    05*4+2(a0),05*4+2(a1)
  258.     move.w    06*4+2(a0),06*4+2(a1)
  259.     move.w    07*4+2(a0),07*4+2(a1)
  260.     move.w    08*4+2(a0),08*4+2(a1)
  261.     move.w    09*4+2(a0),09*4+2(a1)
  262.  
  263.     move.w    10*4+2(a0),10*4+2(a1)
  264.     move.w    11*4+2(a0),11*4+2(a1)
  265.     move.w    12*4+2(a0),12*4+2(a1)
  266.     move.w    13*4+2(a0),13*4+2(a1)
  267.     move.w    14*4+2(a0),14*4+2(a1)
  268.     move.w    15*4+2(a0),15*4+2(a1)
  269.     move.w    16*4+2(a0),16*4+2(a1)
  270.     move.w    17*4+2(a0),17*4+2(a1)
  271.     move.w    18*4+2(a0),18*4+2(a1)
  272.     move.w    19*4+2(a0),19*4+2(a1)
  273.  
  274.     move.w    20*4+2(a0),20*4+2(a1)
  275.     move.w    21*4+2(a0),21*4+2(a1)
  276.     move.w    22*4+2(a0),22*4+2(a1)
  277.     move.w    23*4+2(a0),23*4+2(a1)
  278.     move.w    24*4+2(a0),24*4+2(a1)
  279.     move.w    25*4+2(a0),25*4+2(a1)
  280.     move.w    26*4+2(a0),26*4+2(a1)
  281.     move.w    27*4+2(a0),27*4+2(a1)
  282.     move.w    28*4+2(a0),28*4+2(a1)
  283.     move.w    29*4+2(a0),29*4+2(a1)
  284.  
  285.     move.w    30*4+2(a0),30*4+2(a1)
  286.     move.w    31*4+2(a0),31*4+2(a1)
  287.     move.w    32*4+2(a0),32*4+2(a1)
  288.     move.w    33*4+2(a0),33*4+2(a1)
  289.     move.w    34*4+2(a0),34*4+2(a1)
  290.     move.w    35*4+2(a0),35*4+2(a1)
  291.     move.w    36*4+2(a0),36*4+2(a1)
  292.     move.w    37*4+2(a0),37*4+2(a1)
  293.     move.w    38*4+2(a0),38*4+2(a1)
  294.     move.w    39*4+2(a0),39*4+2(a1)
  295.  
  296.     move.w    40*4+2(a0),40*4+2(a1)
  297.     move.w    41*4+2(a0),41*4+2(a1)
  298.     move.w    42*4+2(a0),42*4+2(a1)
  299.     move.w    43*4+2(a0),43*4+2(a1)
  300.     move.w    44*4+2(a0),44*4+2(a1)
  301.     move.w    45*4+2(a0),45*4+2(a1)
  302.     move.w    46*4+2(a0),46*4+2(a1)
  303.     move.w    47*4+2(a0),47*4+2(a1)
  304.     move.w    48*4+2(a0),48*4+2(a1)
  305.     move.w    49*4+2(a0),49*4+2(a1)
  306.  
  307.     move.w    50*4+2(a0),50*4+2(a1)
  308.     move.w    51*4+2(a0),51*4+2(a1)
  309.     move.w    52*4+2(a0),52*4+2(a1)
  310.     move.w    53*4+2(a0),53*4+2(a1)
  311.     move.w    54*4+2(a0),54*4+2(a1)
  312.  
  313. copbuf.end
  314.     movem.l    (sp)+,d0-d7/a0-a6
  315.     rts
  316.  
  317.     ;goes back to the workbench
  318.     
  319. syson
  320.     movem.l    d0-d7/a0-a6,-(sp)
  321.  
  322.     move.w    #$0001,$dff09a        ;tbeint uit
  323.     move.l    intvbold,($6c).w
  324.     move.l    inttbeold,($64).w
  325.  
  326.     move.l    4,a6
  327.     jsr    -138(a6)        ;permit
  328.  
  329.     move.l    gfxlib,a6
  330.     jsr    -462(a6)        ;disownblitter
  331.  
  332.     move.l    wbview,a1
  333.     move.l    gfxlib,a6
  334.     jsr    _LVOLoadView(a6)     ; Fix view
  335.     jsr    _LVOWaitTOF(a6)
  336.     jsr    _LVOWaitTOF(a6)         ; wait for LoadView()
  337.  
  338. syson.ras
  339.     cmp.b    #$c0,$dff006        ;prevent copperjump
  340.     bne    syson.ras
  341.  
  342.     move.l    gfxlib,a6
  343.     move.l    gb_copinit(a6),$dff080     ; Kick it into life
  344.  
  345.     movem.l    (sp)+,d0-d7/a0-a6
  346.     rts
  347.     
  348.     ;goes back to the gadgetscreen
  349.     
  350. sysoff
  351.     movem.l    d0-d7/a0-a6,-(sp)
  352.      
  353.     move.l    gfxlib,a6
  354.     move.l    gb_ActiView(a6),wbview    ;current view
  355.     sub.l    a1,a1            ; clear a1
  356.     jsr     _LVOLoadView(a6)     ; Flush View to nothing
  357.     jsr    _LVOWaitTOF(a6)     ; Wait once
  358.     jsr    _LVOWaitTOF(a6)     ; Wait again.
  359.  
  360.     move.l    gfxlib,a6
  361.     jsr    -456(a6)        ;ownblitter
  362.  
  363.     move.l    4,a6
  364.     jsr    -132(a6)        ;forbid
  365.         
  366.     move.l    ($6c).w,intvbold
  367.     move.l    #intvb,($6c).w
  368.     move.l    ($64).w,inttbeold
  369.     move.l    #inttbe,($64).w
  370.     move.w    #$8001,$dff09a        ;tbeint aan
  371.     bsr    gracpr            ;reset copper
  372.     bsr    copbuf            ;copy copper
  373.     move.l    #cpr,$dff080
  374.  
  375.     movem.l    (sp)+,d0-d7/a0-a6
  376.     rts
  377.     
  378. cprsprrem
  379.     movem.l    d0-d7/a0-a6,-(sp)
  380.     lea    cprspr,a0
  381.     move.l    #sprdat,d0
  382.     move.w    #7,d1
  383. cprsprrem.a
  384.     move.w    d0,3*2(a0)
  385.     swap    d0
  386.     move.w    d0,1*2(a0)
  387.     swap    d0
  388.     add.l    #8,a0
  389.     dbra    d1,cprsprrem.a
  390.     movem.l    (sp)+,d0-d7/a0-a6
  391.     rts
  392.  
  393. varset                    ;variablen neerzetten
  394.     movem.l    d0-d7/a0-a6,-(sp)
  395.     move.l    #var,a0
  396.  
  397.     move.l    #cprbck,var_cprbck(a0)
  398.     move.l    gfxlib,var__GfxBase(a0)
  399.     move.b    ntscmode,var_ntsc(a0)
  400.  
  401.     move.l    curpic1,var_pic1(a0)    ;variabel
  402.     move.l    curpic2,var_pic2(a0)    ;variabel
  403.     move.w    anispd1,var_anispd1(a0)
  404.     move.w    anitel1,var_anitel1(a0)
  405.     movem.l    (sp)+,d0-d7/a0-a6
  406.     rts
  407.     
  408.     ;this routine handles all videotracker-routines
  409.  
  410. rotply    
  411.     movem.l    d0-d7/a0-a6,-(sp)
  412.  
  413.     moveq.l    #0,d0
  414.  
  415.     lea    currot1,a2        ;routine 1
  416.     move.w    rotinf1,d0        ;routine info
  417.     bsr.s    rotplyr
  418.  
  419. rotply.end
  420.     movem.l    (sp)+,d0-d7/a0-a6
  421.     rts
  422.  
  423.     ;this routine handles 1 routine, BLIT !
  424.     
  425. rotplyr
  426.     movem.l    d0-d7/a1-a6,-(sp)
  427.  
  428.     move.l    #rot,(a2)        ;routinestart address
  429.  
  430.     move.b    #50,ntscmode        ;ntsc/pal hz
  431.     clr.l    curpic2            ;background picture
  432.     move.w    #1,anispd1        ;animationspeed
  433.     clr.w    anitel1            ;animation position
  434.  
  435.     lea    var,a0            ;communication-table
  436.  
  437.  
  438.     move.l    #routinemode,d0        ;routinemode !!!
  439.  
  440.     sub.l    a0,a0            ;picture info legen
  441.  
  442.     tst.l    (a2)            ;is er een routine ?
  443.     beq    rotplyr.end        ;interlace handling
  444.  
  445.     move.l    intdel,d2        ;delay
  446.     move.l    inttel,d1        ;teller
  447.     cmp.w    d2,d1
  448.     blt    rotplyr.end
  449.     clr.l    inttel
  450.                 
  451.     bsr    varset            ;variabelen updaten
  452.  
  453.     move.l    (a2),a1            ;routine halen
  454.     move.l    #var,a0            ;variablen tabel
  455.  
  456.     movem.l    d3-d7/a1-a6,-(sp)
  457.     moveq.l    #0,d1            ;vars wissen
  458.     moveq.l    #0,d2
  459.     moveq.l    #0,d3
  460.     moveq.l    #0,d4
  461.     moveq.l    #0,d5
  462.     moveq.l    #0,d6
  463.     moveq.l    #0,d7
  464.     sub.l    a2,a2
  465.     sub.l    a3,a3
  466.     sub.l    a4,a4
  467.     sub.l    a5,a5
  468.  
  469.     jsr    4(a1)            ;routine afwerken
  470.     movem.l    (sp)+,d3-d7/a1-a6
  471.  
  472.     ;Routine:
  473.     ;
  474.     ;Input:
  475.     ;a0=variabelentabel
  476.     ;d0=routinemode
  477.     ;
  478.     ;Output:
  479.     ;a0=picture
  480.     ;d1=copperlist
  481.     ;d2=interruptdelay        (NOT used till now)
  482.     
  483.     move.w    #$0020,$dff09a        ;vb off !
  484.  
  485.     move.l    d2,intdel        ;delay
  486.  
  487.     lea    cprjmp,a3
  488.     move.l    #cprbck-8,d0
  489.  
  490.     cmp.l    (a2),a1            ;routine ondertussen gewipt ?
  491.     bne.s    rotplyr.nocop
  492.     tst.l    d1            ;copperlist ?
  493.     beq.s    rotplyr.nocop
  494.     move.l    d1,d0
  495. rotplyr.nocop
  496.     move.w    d0,6(a3)
  497.     swap    d0
  498.     move.w    d0,2(a3)
  499.  
  500.     cmp.l    #0,a0            ;picture ?
  501.     beq.s    rotplyr.endvb
  502.  
  503.     move.l    a0,curpic1        ;current picture (cycle)
  504.     move.l    a0,curpal1        ;current palette
  505.  
  506.     tst.b    rotdpl            ;plane is geleverd
  507.     beq.s    rotplyr.set
  508.     clr.b    rotdpl
  509.     clr.l    cycdel1            ;cycle info wissen
  510.     clr.l    4+cycdel1
  511.     clr.l    curfrm1            ;curfrm1, altijd planes zetten
  512. rotplyr.set
  513.     clr.b    dplctr
  514.     bsr.s    grap
  515.     bsr    grac            ;colorset
  516. rotplyr.endvb
  517.     move.w    #$8020,$dff09a
  518. rotplyr.end
  519.     movem.l    (sp)+,d0-d7/a1-a6
  520.     rts
  521.  
  522.     ;removes possible routine-coppers
  523.     
  524. gracpr
  525.     movem.l    d0-d7/a0-a6,-(sp)
  526.     lea    cprjmp,a3
  527.     move.l    #cprbck-8,d0        ;copperlist resetten
  528.     move.w    d0,6(a3)
  529.     swap    d0
  530.     move.w    d0,2(a3)
  531.     movem.l    (sp)+,d0-d7/a0-a6
  532.     rts
  533.  
  534.     ;picture-to-copper routine, communicates with the
  535.     ;anim-player
  536.     
  537. grap                    ;d7=anim
  538.     movem.l    d0-d7/a0-a6,-(sp)
  539.  
  540.     clr.l    d7
  541.     
  542.     tst.l    curpic1            ;current picture ?
  543.     beq    grap.end
  544.  
  545.     move.l    curpic1,a2        ;normal pic halen
  546.  
  547.     lea    gracprscr,a1        ;window neerzetten
  548.     move.l    hogscr,d1
  549.  
  550.     move.w    pic_hgt(a2),d3        ;pic hoogte
  551.     move.w    pic_vew(a2),d5
  552.     btst    #2,d5            ;interlace ?
  553.     beq.s    grap.nohi4
  554.     lsr.w    #1,d3            ;/2
  555. grap.nohi4
  556.     cmp.w    d3,d1
  557.     bge.s    grap.hog
  558.     move.w    d1,d3
  559. grap.hog
  560.     sub.w    d3,d1
  561.     lsr.w    #1,d1
  562.     add.w    #win_str,d1
  563.     move.w    d1,d2
  564.     add.w    d3,d2
  565.  
  566.  
  567.     move.b    d1,2(a1)        ;y start
  568.     move.b    d2,6(a1)        ;y end
  569.  
  570.     move.w    pic_wid(a2),d4        ;pic breedte in bytes
  571.     lsl.l    #3,d4
  572.  
  573.     move.l    #vew_wid*8,d0
  574.     move.l    #0,d1
  575.     move.l    #$71,d6
  576.  
  577.     move.w    pic_vew(a2),d5
  578.     btst    #15,d5            ;hires ?
  579.     beq.s    grap.nohi2
  580.  
  581.     move.l    #(vew_wid-4)*8*2,d0
  582.     move.l    #1,d1
  583.     move.l    #$81,d6
  584.  
  585.     cmp.w    #80,pic_wid(a2)        ;overscan ?
  586.     ble.s    grap.nohi2
  587.     move.l    #(vew_wid)*8*2,d0
  588.     move.l    #$61,d6
  589.  
  590. grap.nohi2    
  591.     btst    #6,d5            ;super hires ?
  592.     beq.s    grap.noshi2
  593.  
  594.     move.l    #(vew_wid-4)*8*4,d0
  595.     move.l    #2,d1
  596.     move.l    #$81,d6
  597.  
  598.     cmp.w    #80*2,pic_wid(a2)    ;overscan ?
  599.     ble.s    grap.noshi2
  600.     move.l    #(vew_wid)*8*4,d0
  601.     move.l    #$61,d6
  602.  
  603. grap.noshi2    
  604.  
  605.     clr.w    d5
  606.     cmp.w    d0,d4            ;breeder dan scherm ?
  607.     ble.s    grap.c
  608.     move.w    d4,d5
  609.     move.w    d0,d4
  610.     sub.w    d0,d5            ;modulo
  611.     lsr.w    #3,d5            ;/8
  612. grap.c
  613.     lsr.w    d1,d0
  614.     lsr.w    d1,d4
  615.  
  616.     move.w    d0,d2
  617.     sub.w    d4,d2
  618.     lsr.w    #1,d2            ;/2
  619.  
  620.     add.w    d6,d2
  621.     move.b    d2,3(a1)        ;x start
  622.     move.w    d2,d3            ;d3 bewaren !
  623.  
  624.     add.w    d4,d2            ;d4 bewaren !
  625.     move.b    d2,7(a1)        ;x end
  626.     
  627.     move.w    pic_vew(a2),d6
  628.     btst    #15,d6            ;hires ?
  629.     beq.s    grap.nohi5    
  630.     add.l    d4,d4            ;*2
  631. grap.nohi5
  632.     btst    #6,d6            ;super hires ?
  633.     beq.s    grap.noshi5    
  634.     add.l    d4,d4            ;*4
  635. grap.noshi5
  636.  
  637.     move.l    d7,-(sp)
  638.     move.w    pic_vew(a2),d6
  639.     move.l    #17,d0
  640.     move.l    #1,d1
  641.     move.l    #3,d7
  642.  
  643.     btst    #15,d6            ;hires ?
  644.     beq.s    grap.nohi3    
  645.     move.l    #9,d0
  646.     move.l    #2,d1
  647.     move.l    #2,d7
  648. grap.nohi3
  649.     btst    #6,d6            ;super hires ?
  650.     beq.s    grap.noshi3    
  651.     move.l    #9,d0
  652.     move.l    #2,d1
  653.     move.l    #1,d7
  654. grap.noshi3
  655.     sub.w    d0,d3
  656.     lsr.w    #1,d3
  657.     move.w    d3,10(a1)        ;ddfstrt
  658.     
  659.     move.w    d4,d2            ;pic breedte in pixels
  660.     lsr.w    #4,d2            ;/16
  661.     sub.w    d1,d2            ;-1
  662.  
  663.     lsl.w    d7,d2            ;*8
  664.     add.w    d2,d3
  665.     move.w    d3,14(a1)        ;ddfstop
  666.     move.l    (sp)+,d7
  667.     
  668.     lea    pic_raw(a2),a0
  669.  
  670.     moveq.l    #0,d2
  671.     move.w    pic_dpt(a2),d2
  672.     sub.l    #1,d2
  673.     muls    pic_wid(a2),d2
  674.     add.w    d2,d5
  675.  
  676.     move.w    pic_vew(a2),d2        ;viewmode add
  677.     btst    #2,d2
  678.     beq.s    grap.nolace4
  679.  
  680.     moveq.l    #0,d2
  681.     move.w    pic_dpt(a2),d2
  682.     muls    pic_wid(a2),d2
  683.     add.w    d2,d5            ;interlace gedoe
  684. grap.nolace4
  685.  
  686.     lea    gracprbpl,a4        ;iffpln neerzetten
  687.     lea    gracprpln,a0        ;iffpln neerzetten
  688.     moveq.l    #0,d2
  689.     move.w    pic_dpt(a2),d2        ;plnnummer 1 halen
  690.     move.l    #8,d6            ;copper step !
  691.  
  692.     tst.l    curpic2            ;2de picture ?
  693.     bne.s    grap.pic2
  694. grap.nopic2
  695.     move.w    d5,34(a1)        ;modulo oneven zetten
  696.     bra    grap.nodpl
  697. grap.pic2
  698.     move.l    curpic2,a3        ;oneven plane
  699.     move.l    currot2,a5        ;oneven plane
  700.     clr.l    curpic2            ;mischien niet goed
  701.     clr.l    curpal2            ;mischien niet goed
  702.     clr.l    currot2            ;mischien niet goed
  703.  
  704.     cmp.l    curpic1,a3        ;picture hetzelfde ?
  705.     beq    grap.nopic2
  706.     
  707.     cmp.l    #0,currot1        ;routine ?    
  708.     beq.s    grap.norot
  709.     cmp.l    currot1,a5        ;routine hetzelfde ?
  710.     beq    grap.nopic2
  711. grap.norot
  712.  
  713.     cmp.b    #3,d2            ;> 8 kleuren ?
  714.     bgt    grap.nopic2
  715.     move.w    pic_dpt(a3),d3        ;plnnummer 2 halen
  716.     cmp.b    d2,d3            ;gelijke plnummers ?
  717.     bne    grap.nopic2
  718.     move.w    pic_vew(a2),d1
  719.     cmp.w    pic_vew(a3),d1        ;view gelijk ?
  720.     bne    grap.nopic2
  721.  
  722.     move.w    pic_vew(a2),d1        ;groter dan view test
  723.     btst    #6,d1            ;super hires ?
  724.     beq.s    grap.nohi2a
  725.     move.l    #vew_wid*4,d1
  726.     bra.s    grap.nohi2b
  727. grap.nohi2a
  728.     btst    #15,d1            ;hires ?
  729.     beq.s    grap.noshi2a
  730.     move.l    #vew_wid*2,d1
  731.     bra.s    grap.nohi2b
  732. grap.noshi2a
  733.     move.l    #vew_wid,d1
  734. grap.nohi2b
  735.     cmp.w    pic_wid(a2),d1        ;breder dan view ?
  736.     bgt.s    grap.small
  737.     cmp.w    pic_wid(a3),d1        ;breder dan view ?
  738.     bgt.s    grap.small
  739.  
  740.     move.w    pic_vew(a2),d1
  741.     btst    #2,d1
  742.     beq.s    grap.nolace8a
  743.     move.l    hogscr,d1
  744.     add.l    d1,d1
  745.     bra.s    grap.nolace8b
  746. grap.nolace8a
  747.     move.l    hogscr,d1
  748. grap.nolace8b
  749.     cmp.w    pic_hgt(a2),d1        ;hoger dan view ?
  750.     bgt.s    grap.small
  751.     cmp.w    pic_hgt(a3),d1        ;hoger dan view ?
  752.     bgt.s    grap.small
  753.     bra.s    grap.big
  754.  
  755. grap.small
  756.     move.w    pic_hgt(a2),d1        ;wid+hgt<vew
  757.     cmp.w    pic_hgt(a3),d1        ;hoogte gelijk ?
  758.     bne    grap.nopic2
  759.     move.w    pic_wid(a2),d1
  760.     cmp.w    pic_wid(a3),d1        ;breedte gelijk ?
  761.     bne    grap.nopic2
  762.  
  763. grap.big
  764.     move.l    a3,curpic2
  765.     move.l    a3,curpal2
  766.     move.l    a5,currot2
  767.  
  768.     tst.b    dplctr            ;double playfield al gezet ?
  769.     beq.s    grap.nocop
  770.  
  771.     move.w    30(a1),34(a1)        ;modulo copieren
  772.  
  773.     move.w    2(a4),d1        ;bplcon0
  774.     btst    #10,d1            ;al double playfield ?
  775.     beq.s    grap.ta
  776.  
  777.     move.w    2(a0),10(a0)        ;plane 0>1 copieren
  778.     move.w    6(a0),14(a0)
  779.  
  780.     move.w    18(a0),26(a0)        ;plane 2>3 copieren
  781.     move.w    22(a0),30(a0)
  782.  
  783.     move.w    34(a0),42(a0)        ;plane 4>5 copieren
  784.     move.w    38(a0),46(a0)
  785.  
  786.     bra.s    grap.tb
  787. grap.ta
  788.     move.w    18(a0),42(a0)        ;plane 2>5 copieren
  789.     move.w    22(a0),46(a0)
  790.  
  791.     move.w    10(a0),26(a0)        ;plane 1>3 copieren
  792.     move.w    14(a0),30(a0)
  793.  
  794.     move.w    2(a0),10(a0)        ;plane 0>1 copieren
  795.     move.w    6(a0),14(a0)
  796.  
  797. grap.tb
  798.     move.l    #palette,a3        ;palette copieren
  799.  
  800.     move.w    #8-1,d1
  801. grap.pal
  802.     move.w    (a3)+,14(a3)
  803.     dbra    d1,grap.pal
  804.  
  805. grap.nocop
  806.     add.w    d3,d2
  807.     lsl.w    #8,d2
  808.     lsl.w    #4,d2
  809.     or.w    #$400,d2
  810.     move.w    d2,2(a4)        ;bplcon0
  811.  
  812.     movem.l    d0-d7/a0-a6,-(sp)
  813.  
  814.     move.l    curpic,a2        ;animpic ?
  815.     move.l    curfrm,d7
  816.     cmp.l    #0,a2
  817.     bne.s    grap.noanipic
  818.  
  819.     move.l    curpic2,a2        ;normal pic ?
  820.     move.l    curfrm2,d7
  821.     cmp.l    #0,a2
  822.     beq.s    grap.nodplpic
  823.  
  824. grap.noanipic
  825.     add.l    d6,a0
  826.     add.w    d6,d6
  827.     bsr.s    grappln            ;a2,d6,d7,d0
  828. grap.nodplpic
  829.     movem.l    (sp)+,d0-d7/a0-a6
  830.     add.w    d6,d6
  831.     bra.s    grap.nodpla
  832.  
  833.  
  834. grap.nodpl                ;geen double playfield
  835.     lsl.w    #8,d2
  836.     lsl.w    #4,d2
  837.     move.w    d2,2(a4)        ;bplcon0
  838.  
  839. grap.nodpla
  840.     move.w    d5,30(a1)        ;modulo even
  841.  
  842.     moveq.l    #0,d3
  843.     add.w    pic_vew(a2),d3        ;viewmode add
  844.     moveq.l    #0,d2
  845.     move.w    2(a4),d2
  846.     or.l    d3,d2
  847.     or.l    #$300,d2        ;genlock info
  848.     move.w    d2,2(a4)
  849.     
  850.     bsr.s    grappln            ;a2,d6,d7,d0
  851.  
  852. grap.end
  853.     
  854.     movem.l    (sp)+,d0-d7/a0-a6
  855.     rts
  856.         
  857.  
  858.     ;sets on of the 2 possible pictures to the copper
  859.     ;handles interlace
  860.  
  861.     ;d7=framenummer
  862.     ;d6=copperliststap
  863.     ;d0=raw planes positie
  864.     ;a2=current picture
  865. grappln                    ;planes invullen 
  866.     movem.l    d0-d7/a0-a6,-(sp)
  867.  
  868.     lea    pic_raw(a2),a1
  869.     move.l    a1,d0            ;raw planes
  870.     
  871.     moveq.l    #0,d2            ;x*y
  872.     move.w    pic_wid(a2),d2
  873.     lsr.l    #1,d2            ;/2
  874.     moveq.l    #0,d3
  875.     move.w    pic_hgt(a2),d3
  876.     muls    d3,d2
  877.     
  878.     move.l    d2,d4
  879.     add.l    d2,d2
  880.  
  881.     move.w    pic_dpt(a2),d3
  882.     muls    d3,d4            ;hele picture size
  883.     muls    d7,d4            ;frame*size d7 !
  884.  
  885.     add.l    d4,d4
  886.  
  887.     add.l    d4,d0
  888.  
  889.     move.l    #vew_wid,d5        ;max x view
  890.     move.l    hogscr,d4        ;max y view
  891.     move.w    pic_vew(a2),d1        ;viewmode add
  892.     btst    #2,d1
  893.     beq.s    grappln.nolace
  894.     add.l    d4,d4            ;max y view
  895. grappln.nolace
  896.     btst    #15,d1            ;hires ?
  897.     beq.s    grappln.nohi
  898.     move.l    #vew_wid*2,d5        ;max x view
  899. grappln.nohi
  900.     btst    #6,d1            ;super hires ?
  901.     beq.s    grappln.noshi
  902.     move.l    #vew_wid*4,d5        ;max x view
  903. grappln.noshi
  904.  
  905.     moveq.l    #0,d3            ;scherm centreren
  906.     move.w    pic_wid(a2),d3        ;pic breedte in bytes
  907.     cmp.w    d5,d3            ;breder dan scherm ?
  908.     ble.s    grappln.qa
  909.     sub.w    d5,d3            ;-scherm breedte
  910.     lsr.w    #2,d3            ;/4
  911.  
  912.     add.l    d3,d3
  913.  
  914.     add.l    d3,d0
  915. grappln.qa
  916.     move.w    pic_hgt(a2),d3        ;pic hoogte in bytes
  917.     cmp.w    d4,d3            ;hoger dan scherm ?
  918.     ble.s    grappln.qb
  919.     sub.w    d4,d3            ;-scherm breedte
  920.     lsr.w    #1,d3            ;/2
  921.     moveq.l    #0,d5
  922.     move.w    pic_wid(a2),d5        ;pic breedte in bytes
  923.     muls    pic_dpt(a2),d5
  924.     muls    d5,d3
  925.     add.l    d3,d0
  926. grappln.qb
  927.     moveq.l    #0,d2
  928.     move.w    pic_wid(a2),d2
  929.  
  930.     move.w    pic_vew(a2),d5        ;interlace flipping ?
  931.     btst    #2,d5
  932.     beq.s    grappln.nolac7b
  933.  
  934.     move.w    $04(a6),d5        ;even/oneven ?
  935.     btst    #15,d5
  936.     beq.s    grappln.nolac7b
  937.     
  938.     moveq.l    #0,d3
  939.     move.w    pic_wid(a2),d3
  940.     muls    pic_dpt(a2),d3
  941.     add.l    d3,d0
  942. grappln.nolac7b
  943.  
  944.     move.w    pic_dpt(a2),d1        ;plnnummer 1 halen
  945.     tst.w    d1            ;0 planes ?
  946.     beq.s    grappln.end
  947.     sub.w    #1,d1
  948. grappln.a
  949.     move.w    d0,3*2(a0)
  950.     swap    d0
  951.     move.w    d0,1*2(a0)
  952.     swap    d0
  953.     add.l    d6,a0            ;d6=copper step !
  954.     add.l    d2,d0
  955.     dbra    d1,grappln.a
  956. grappln.end
  957.     movem.l    (sp)+,d0-d7/a0-a6
  958.     rts
  959.  
  960.     ;sets palettes to copper
  961.     
  962. grac
  963.     movem.l    d0-d7/a0-a6,-(sp)
  964.  
  965.     lea    curpal1,a3        ;palette 1
  966.     move.l    #palette,a1
  967.     bsr.s    gracfrm
  968.  
  969.     lea    curpal2,a3        ;palette 2 (dpl)
  970.     move.l    #8*2+palette,a1
  971.     bsr.s    gracfrm
  972.     
  973.     bsr.s    palctr            ;palette-buffer to copper
  974. grac.end
  975.     movem.l    (sp)+,d0-d7/a0-a6
  976.     rts
  977.         
  978.     ;moves palette from picture to palette-buffer
  979.  
  980. gracfrm
  981.     movem.l    d0-d7/a0-a6,-(sp)
  982.     tst.l    (a3)            ;palette aanwezig ?
  983.     beq.s    gracfrm.end
  984.  
  985.     move.l    (a3),a2            ;current palette
  986.     
  987.     cmp.l    #'PALE',(a2)        ;palette ?
  988.     bne.s    gracfrm.pict
  989.     lea    6(a2),a0        ;palette
  990.     move.w    4(a2),d0        ;aantal kleuren
  991.     bra.s    gracfrm.col
  992. gracfrm.pict
  993.     cmp.l    #'ANIM',(a2)        ;animatie ?
  994.     bne.s    gracfrm.noanim
  995.  
  996.     moveq.l    #0,d1
  997.     move.w    pic_ani(a2),d1
  998.     bclr    #7,d1            ;behandelbit weghalen
  999.  
  1000.     moveq.l    #0,d3
  1001.     move.w    pic_wid(a2),d3
  1002.     lsr.w    #1,d3            ;/2
  1003.     muls    pic_hgt(a2),d3
  1004.     muls    pic_dpt(a2),d3
  1005.  
  1006.     add.l    d3,d3
  1007.  
  1008.     add.l    #pic_raw,d3
  1009.     move.l    d3,d5
  1010.  
  1011.     btst    #0,d1
  1012.     bne.s    gracfrm.buf2
  1013.     moveq.l    #0,d5
  1014. gracfrm.buf2
  1015.     add.l    d5,a2
  1016. gracfrm.noanim
  1017.     lea    pic_pal(a2),a0        ;palette
  1018.     move.w    pic_palnum(a2),d0
  1019.  
  1020.     cmp.w    #32-1,d0        ;niet meer dan 32 kleuren
  1021.     ble    gracfrm.sub
  1022.     move.w    #32-1,d0
  1023. gracfrm.sub
  1024.  
  1025.     tst.w    d0            ;0 planes ?
  1026.     beq.s    gracfrm.end
  1027. gracfrm.col
  1028. gracfrm.fa
  1029.     move.w    (a0)+,(a1)+
  1030.     dbra    d0,gracfrm.fa
  1031. gracfrm.end
  1032.     movem.l    (sp)+,d0-d7/a0-a6
  1033.     rts
  1034.     
  1035.     ;handles colorcycling in the palette-buffer
  1036.     ;and copies palette-buffer to copper
  1037.  
  1038. palctr
  1039.     movem.l    d0-d7/a0-a6,-(sp)
  1040.  
  1041.     move.l    curpic1,a2        ;current raw
  1042.     cmp.l    #0,a2
  1043.     beq.s    palctr.qb
  1044.     lea    cycdel1,a3        ;cycle delays
  1045.     move.l    #palette,a4
  1046.     bsr    palcyc
  1047. palctr.qb
  1048.     move.l    curpic2,a2        ;current raw
  1049.     cmp.l    #0,a2
  1050.     beq.s    palctr.c
  1051.     lea    cycdel2,a3        ;cycle delays
  1052.     move.l    #8*2+palette,a4
  1053.     bsr    palcyc
  1054.  
  1055. palctr.c
  1056.     lea    gracprcol,a1
  1057.     move.l    #palette,a0
  1058.  
  1059.     move.w    00(a0),00*4+2(a1)
  1060.     move.w    02(a0),01*4+2(a1)
  1061.     move.w    04(a0),02*4+2(a1)
  1062.     move.w    06(a0),03*4+2(a1)
  1063.     move.w    08(a0),04*4+2(a1)
  1064.     move.w    10(a0),05*4+2(a1)
  1065.     move.w    12(a0),06*4+2(a1)
  1066.     move.w    14(a0),07*4+2(a1)
  1067.     move.w    16(a0),08*4+2(a1)
  1068.     move.w    18(a0),09*4+2(a1)
  1069.  
  1070.     move.w    20(a0),10*4+2(a1)
  1071.     move.w    22(a0),11*4+2(a1)
  1072.     move.w    24(a0),12*4+2(a1)
  1073.     move.w    26(a0),13*4+2(a1)
  1074.     move.w    28(a0),14*4+2(a1)
  1075.     move.w    30(a0),15*4+2(a1)
  1076.     move.w    32(a0),16*4+2(a1)
  1077.     move.w    34(a0),17*4+2(a1)
  1078.     move.w    36(a0),18*4+2(a1)
  1079.     move.w    38(a0),19*4+2(a1)
  1080.  
  1081.     move.w    40(a0),20*4+2(a1)
  1082.     move.w    42(a0),21*4+2(a1)
  1083.     move.w    44(a0),22*4+2(a1)
  1084.     move.w    46(a0),23*4+2(a1)
  1085.     move.w    48(a0),24*4+2(a1)
  1086.     move.w    50(a0),25*4+2(a1)
  1087.     move.w    52(a0),26*4+2(a1)
  1088.     move.w    54(a0),27*4+2(a1)
  1089.     move.w    56(a0),28*4+2(a1)
  1090.     move.w    58(a0),29*4+2(a1)
  1091.  
  1092.     move.w    60(a0),30*4+2(a1)
  1093.     move.w    62(a0),31*4+2(a1)
  1094.  
  1095.     movem.l    (sp)+,d0-d7/a0-a6
  1096.     rts
  1097.  
  1098.     ;colorcyclinghandling of a palette
  1099.  
  1100. palcyc
  1101.     movem.l    d0-d7/a0-a6,-(sp)
  1102.     move.w    #4-1,d7            ;4 cycles
  1103. palcyc.d
  1104.     tst.w    (a3)+            ;delay klaar ?
  1105.     bne.s    palcyc.c
  1106.     
  1107.     moveq.l    #0,d1
  1108.     move.b    pic_cycstr(a2),d1    ;start color
  1109.     lsl.b    #1,d1        ;*2
  1110.  
  1111.     moveq.l    #0,d2
  1112.     move.b    pic_cycend(a2),d2    ;end color
  1113.     lsl.b    #1,d2        ;*2
  1114.  
  1115.     moveq.l    #0,d3
  1116.     move.b    pic_cycadd(a2),d3    ;richting
  1117.  
  1118.     move.l    a4,a0            ;palette pointer
  1119.     move.l    a0,a1
  1120.     add.l    d1,a0            ;startcolor
  1121.     add.l    d2,a1            ;endcolor
  1122.     
  1123.     cmp.b    #1,d3            ;omhoog
  1124.     beq.s    palcyc.up
  1125.     cmp.b    #3,d3            ;omlaag
  1126.     beq.s    palcyc.down
  1127.     bra.s    palcyc.i
  1128.  
  1129. palcyc.up                ;kleuren copieren
  1130.     move.w    (a1),d4            ;laatst color bewaren
  1131. palcyc.f                ;kleuren copieren
  1132.     cmp.l    a0,a1
  1133.     beq.s    palcyc.fa
  1134.     move.w    -(a1),2(a1)
  1135.     bra    palcyc.f
  1136. palcyc.fa
  1137.     move.w    d4,(a1)
  1138.     bra.s    palcyc.g    
  1139.     
  1140. palcyc.down
  1141.     move.w    (a0),d4            ;laatst color bewaren
  1142. palcyc.h                ;kleuren copieren
  1143.     cmp.l    a0,a1
  1144.     beq.s    palcyc.ha
  1145.     move.w    2(a0),(a0)+
  1146.     bra    palcyc.h
  1147. palcyc.ha
  1148.     move.w    d4,(a1)
  1149.  
  1150. palcyc.g
  1151.     move.b    pic_cycspd(a2),-1(a3)    ;delay zetten
  1152.     bra.s    palcyc.i
  1153. palcyc.c
  1154.     sub.w    #1,-2(a3)        ;cycle delay aftellen
  1155. palcyc.i
  1156.     add.l    #4,a2            ;next cycle info
  1157.     dbra    d7,palcyc.d
  1158.  
  1159. palcyc.qb
  1160.     movem.l    (sp)+,d0-d7/a0-a6
  1161.     rts
  1162.  
  1163.  
  1164. ;    SECTION    variabelen,DATA_c
  1165.  
  1166.     cnop    0,2
  1167. curtsk        dc.l    0
  1168. tskpri        dc.l    0
  1169. duplok        dc.l    0
  1170. inttel        dc.l    0
  1171. intdel        dc.l    0
  1172.  
  1173. form        dc.l    0
  1174. ifffil        dc.l    0
  1175. intvbold    dc.l    0
  1176. inttbeold    dc.l    0
  1177. patpos        dc.l    0
  1178. gfxlib        dc.l    0
  1179. doslib        dc.l    0
  1180. wbview      dc.l    0
  1181. mt_data        dc.l    0
  1182. memvid        dc.l    0
  1183. oldcprlist    dc.l    0
  1184. hogscr        dc.l    vew_hgt
  1185.  
  1186. inspos        dc.l    -1
  1187. anispd1        dc.w    1    ;nooit op 0 !
  1188. anispd2        dc.w    1
  1189.  
  1190.         cnop    0,2
  1191. varclr.s            ;start wissen
  1192. oldrot        dc.l    0
  1193. curpic        dc.l    0
  1194. curfrm        dc.l    0
  1195. cycdel1        ds.w    4
  1196. cycdel2        ds.w    4
  1197.  
  1198. rotinf1        dc.w    0
  1199. rotinf2        dc.w    0
  1200.  
  1201. effspd        dc.w    0
  1202. efflop        dc.b    0
  1203. anilop1        dc.b    0
  1204. anilop2        dc.b    0
  1205. anipal1        dc.b    0
  1206. anipal2        dc.b    0
  1207. rotdpl        dc.b    1
  1208. dplctr        dc.b    0
  1209.         cnop    0,2
  1210.  
  1211. insdat        ds.l    4
  1212. inspri        dc.l    0
  1213. instel        dc.w    0
  1214.  
  1215. cureff        dc.l    0
  1216. efftel        dc.w    0
  1217.  
  1218. curpal1        dc.l    0
  1219. curpal2        dc.l    0
  1220. currot1        dc.l    0
  1221. currot2        dc.l    0
  1222. curpic1        dc.l    0
  1223. curpic2        dc.l    0
  1224. anitel1        dc.w    0
  1225. anitel2        dc.w    0
  1226. curfrm1        dc.l    0
  1227. curfrm2        dc.l    0
  1228. oldfrm1        dc.l    0
  1229. oldfrm2        dc.l    0
  1230.  
  1231. varclr.e
  1232.         dc.l    0            ;wisruimte
  1233.     
  1234. varclr.ql    equ    varclr.e-varclr.s    ;wislengte
  1235.     
  1236. ;ownblit    dc.b    0
  1237. ntscmode    dc.b    0
  1238. end        dc.b    0
  1239.  
  1240. pronam    dc.b    'VideoTracker',0
  1241.     cnop    0,2
  1242. dosnam    dc.b    'dos.library',0
  1243.     cnop    0,4
  1244. gfxnam    dc.b    'graphics.library',0
  1245.     cnop    0,4
  1246.     
  1247.     cnop    0,4
  1248. gra.s
  1249. gracprscr
  1250.     dc.w    $8e,$3381,$90,$81c1,$92,$003c,$94,$00d0
  1251. gracprbpl
  1252.     dc.w    $100,$9000,$102,$0000,$104,$0020
  1253.     dc.w    $108,$0000,$10a,$0000
  1254. gracprpln
  1255.     dc.w    $e0,$0000,$e2,$0000
  1256.     dc.w    $e4,$0000,$e6,$0000
  1257.     dc.w    $e8,$0000,$ea,$0000
  1258.     dc.w    $ec,$0000,$ee,$0000
  1259.     dc.w    $f0,$0000,$f2,$0000
  1260.     dc.w    $f4,$0000,$f6,$0000
  1261. gracprcol
  1262.     dc.w    $180,0,$182,0,$184,0,$186,0,$188,0,$18a,0,$18c,0,$18e,0
  1263.     dc.w    $190,0,$192,0,$194,0,$196,0,$198,0,$19a,0,$19c,0,$19e,0
  1264.     dc.w    $1a0,0,$1a2,0,$1a4,0,$1a6,0,$1a8,0,$1aa,0,$1ac,0,$1ae,0
  1265.     dc.w    $1b0,0,$1b2,0,$1b4,0,$1b6,0,$1b8,0,$1ba,0,$1bc,0,$1be,0
  1266. cprjmp
  1267.     dc.w    $080,0,$082,0
  1268. gra.e
  1269. gra.ql    equ    gra.e-gra.s        ;block lengte
  1270.  
  1271.  
  1272. cpr
  1273.     dc.w    $0001,$fffe
  1274.     dc.w    $09c,$8001        ;tbeint
  1275. cprspr
  1276.     dc.w    $120,$0000,$122,$0000
  1277.     dc.w    $124,$0000,$126,$0000
  1278.     dc.w    $128,$0000,$12a,$0000
  1279.     dc.w    $12c,$0000,$12e,$0000
  1280.     dc.w    $130,$0000,$132,$0000
  1281.     dc.w    $134,$0000,$136,$0000
  1282.     dc.w    $138,$0000,$13a,$0000
  1283.     dc.w    $13c,$0000,$13e,$0000
  1284.  
  1285. cprbuf
  1286.     dc.w    $8e,$3381,$90,$81c1,$92,$003c,$94,$00d0
  1287.     dc.w    $100,$9000,$102,$0000,$104,$0020
  1288.     dc.w    $108,$0000,$10a,$0000
  1289.     dc.w    $e0,$0000,$e2,$0000
  1290.     dc.w    $e4,$0000,$e6,$0000
  1291.     dc.w    $e8,$0000,$ea,$0000
  1292.     dc.w    $ec,$0000,$ee,$0000
  1293.     dc.w    $f0,$0000,$f2,$0000
  1294.     dc.w    $f4,$0000,$f6,$0000
  1295.     dc.w    $180,0,$182,0,$184,0,$186,0,$188,0,$18a,0,$18c,0,$18e,0
  1296.     dc.w    $190,0,$192,0,$194,0,$196,0,$198,0,$19a,0,$19c,0,$19e,0
  1297.     dc.w    $1a0,0,$1a2,0,$1a4,0,$1a6,0,$1a8,0,$1aa,0,$1ac,0,$1ae,0
  1298.     dc.w    $1b0,0,$1b2,0,$1b4,0,$1b6,0,$1b8,0,$1ba,0,$1bc,0,$1be,0
  1299.     dc.w    $080,0,$082,0
  1300. cprbuf.e
  1301.  
  1302.     dc.w    $088,$0000        ;copjmp2
  1303.     dc.w    $080,0,$082,0        ;moet achter cprbck blijven !
  1304. cprbck
  1305. sprdat
  1306.     dc.w    $ffff,$fffe
  1307.  
  1308.  
  1309. prf_pat    equ    7            ;pref sample size
  1310. prf_patnum    equ    128        ;aantal songpos's
  1311. prf_len    equ    ((prf_pat*prf_patnum)+1)
  1312.  
  1313. prf_pos    equ    0            ;eff position (teller)
  1314.  
  1315. prf_effs    equ    1        ;start effect (*prf_patnum)
  1316. prf_effe    equ    2        ;end effect   (*prf_patnum)
  1317. prf_pri    equ    3            ;priority     (*prf_patnum)
  1318. prf_spd    equ    4            ;eff speed    (*prf_patnum)
  1319. prf_ani    equ    5            ;ani speed    (*prf_patnum)
  1320. prf_roth    equ    6        ;routine info (*prf_patnum)
  1321. prf_rotl    equ    7        ;routine info (*prf_patnum)
  1322.  
  1323. eff_num    equ    256            ;aantal effects
  1324.  
  1325. pic_wid        equ    4        ;wide in bytes
  1326. pic_hgt        equ    6        ;hoogte
  1327. pic_dpt        equ    8        ;number planes
  1328. pic_ani        equ    10        ;aantal effes (anim)
  1329. pic_vew        equ    12        ;viewmode
  1330. pic_cycstr    equ    14        ;cycle start (*4)
  1331. pic_cycend    equ    15        ;cycle end (*4)
  1332. pic_cycspd    equ    16        ;cycle speed (*4)
  1333. pic_cycadd    equ    17        ;cycle add (*4)
  1334. pic_palnum    equ    30        ;aantal kleuren
  1335. pic_pal        equ    32        ;palette start
  1336. pic_palsiz    equ    256*2        ;vaste palette size
  1337. pic_raw        equ    pic_pal+pic_palsiz    ;palette start
  1338.  
  1339. fil_namlen    equ    24        ;naamlengte
  1340. fil_len    equ    (fil_namlen+4+4)    ;effect info length
  1341. fil_num    equ    2+eff_num        ;aantal files
  1342. fil_fil    equ    0            ;file naam 
  1343. fil_dir    equ    24            ;pointer naar directory
  1344. fil_pnt    equ    28            ;pointer naar meminfo
  1345.  
  1346. palette    ds.w    64    ;palette
  1347.  
  1348. var_len        equ    $300        ;lengte vartabel
  1349.  
  1350. var__GfxBase    equ    $000        ;graphics lib
  1351. var_pic1    equ    $004        ;current picture
  1352. var_anispd1    equ    $008        ;animspeed
  1353. var_anitel1    equ    $00c        ;animspeed
  1354. var_cprbck    equ    $010        ;copperback
  1355. var_bck        equ    $014        ;background
  1356. var_pic2    equ    $018        ;current picture
  1357. var_ntsc    equ    $01c        ;ntsc/pal frequence
  1358. var_lnd        equ    $020        ;landscape
  1359. var_txt1    equ    $040        ;text
  1360. var_txt16    equ    15*4+var_txt1
  1361. var_vec1    equ    $080        ;vectors
  1362. var_vec16    equ    15*4+var_vec1
  1363. var_fon1    equ    $0c0        ;fonts
  1364. var_fon16    equ    15*4+var_fon1
  1365. var_cols1    equ    $100        ;colorsets
  1366. var_cols16    equ    15*4+var_cols1
  1367. var_obj1    equ    $180        ;objects
  1368. var_obj16    equ    15*4+var_obj1
  1369.  
  1370.     cnop    0,2
  1371. var    ds.b    $300    ;variabelen voor routines
  1372.  
  1373.     
  1374. ;    SECTION    10,CODE_C
  1375.         endc
  1376.  
  1377. ; this is the routine-source
  1378. ;**********************************************************************
  1379.  
  1380.         ifnd    rout
  1381. pic_wid        equ    4        ;wide in bytes
  1382. pic_hgt        equ    6        ;hoogte
  1383. pic_dpt        equ    8        ;number planes
  1384. pic_ani        equ    10        ;aantal effes (anim)
  1385. pic_vew        equ    12        ;viewmode
  1386. pic_cycstr    equ    14        ;cycle start (*4)
  1387. pic_cycend    equ    15        ;cycle end (*4)
  1388. pic_cycspd    equ    16        ;cycle speed (*4)
  1389. pic_cycadd    equ    17        ;cycle add (*4)
  1390. pic_palnum    equ    30        ;aantal kleuren
  1391. pic_pal        equ    32        ;palette start
  1392. pic_palsiz    equ    256*2        ;vaste palette size
  1393. pic_raw        equ    pic_pal+pic_palsiz    ;palette start
  1394.  
  1395. var_len        equ    $300        ;lengte vartabel
  1396.  
  1397. var__GfxBase    equ    $000        ;graphics lib
  1398. var_pic1    equ    $004        ;current picture
  1399. var_anispd1    equ    $008        ;animspeed
  1400. var_anitel1    equ    $00c        ;animspeed
  1401. var_cprbck    equ    $010        ;copperback
  1402. var_bck        equ    $014        ;background
  1403. var_pic2    equ    $018        ;current picture
  1404. var_ntsc    equ    $01c        ;ntsc/pal frequence
  1405. var_lnd        equ    $020        ;landscape
  1406. var_txt1    equ    $040        ;text
  1407. var_txt16    equ    15*4+var_txt1
  1408. var_vec1    equ    $080        ;vectors
  1409. var_vec16    equ    15*4+var_vec1
  1410. var_fon1    equ    $0c0        ;fonts
  1411. var_fon16    equ    15*4+var_fon1
  1412. var_cols1    equ    $100        ;colorsets
  1413. var_cols16    equ    15*4+var_cols1
  1414. var_obj1    equ    $180        ;objects
  1415. var_obj16    equ    15*4+var_obj1
  1416.  
  1417. vew_wid    equ    44
  1418. vew_hgt    equ    290
  1419. win_hgt    equ    117
  1420. win_str    equ    $1a
  1421.         endc
  1422.     
  1423. ;    a0=variabelen tabel
  1424. ;    d0=routinfo
  1425.  
  1426. rot
  1427.  dc.l    'ROUT'
  1428.  movem.l    d1-d7/a1-a6,-(sp)
  1429.  lea    rot,a2
  1430. ; clr.l    d1
  1431. ; move.b    d0,d1
  1432. ; divs    #3,d1
  1433. ; move.b    d1,rotway-rot(a2)
  1434. ; and.l    #$ffff,d1
  1435. ; muls    #3,d1
  1436. ; sub.b    d1,d0
  1437.  move.b    d0,rotdirection-rot(a2)
  1438.  
  1439. beg:                ; As usual...
  1440.  bsr    dostars
  1441.  bsr    dorotation
  1442.  
  1443.  movem.l    (sp)+,d1-d7/a1-a6
  1444.  lea    rotpic1,a0
  1445.  rts
  1446.  
  1447. dorotation:
  1448.  move.w    #2,d1            ;snelheid
  1449.  
  1450. dorotation.a
  1451.  cmp.b    #0,rotdirection-rot(a2)        ;no rotation ?
  1452.  beq    norot
  1453.  
  1454.  cmp.b    #1,rotdirection-rot(a2)        ;left rotation ?
  1455.  beq    left
  1456.  
  1457.  cmp.b    #2,rotdirection-rot(a2)        ;right rotation ?
  1458.  beq    right
  1459.  rts 
  1460.  
  1461. left
  1462.  lea    dire,a0            ;right
  1463.  moveq    #99,d6
  1464. slp:
  1465.  move.w    (a0),d0
  1466.  add.w    d1,d0
  1467.  cmpi.w    #720,d0
  1468.  blt.s    nomore
  1469.  sub.w    #720,d0
  1470. nomore:
  1471.  move.w    d0,(a0)+
  1472.  dbf    d6,slp
  1473.  bra.s    norot
  1474.  
  1475. right
  1476.  lea    dire,a0
  1477.  moveq    #99,d6
  1478. slp2:
  1479.  move.w    (a0),d0
  1480.  sub.w    d1,d0
  1481.  cmpi.w    #0,d0
  1482.  bge.s    nomore2
  1483.  addi.w    #720,d0
  1484. nomore2:
  1485.  move.w    d0,(a0)+
  1486.  dbf    d6,slp2
  1487.  
  1488. norot:
  1489.  rts
  1490.  
  1491. dostars:
  1492.  moveq    #99,d2
  1493.  lea    rotpln1,a0            ; helft Bpl 2
  1494.  add.l    #(290+128)*64+12,a0        ; helft Bpl 2
  1495.  lea    sine,a6            ; Sine table
  1496.  lea    posx,a5            ; X pos table
  1497.  lea    posy,a4            ; Y pos table
  1498.  lea    dire,a3            ; Direction table
  1499.  
  1500. thelot:
  1501.  moveq.l    #0,d1
  1502.  moveq.l    #0,d3
  1503.  
  1504.  move.w    (a5),d0            ; Xpos * 100
  1505.  move.w    (a4),d1            ; Ypos * 100
  1506.  move.w    (a3)+,d7            ; Direction (angle * 2)
  1507.  move.w    d7,d6
  1508.  add.w    #180,d6            ; Y direction
  1509.  cmpi.w    #720,d6
  1510.  blt.s    notnow
  1511.  subi.w    #720,d6            ; cos(360)=cos(0)
  1512. notnow:
  1513.  
  1514.  movem.l    d0/d1/d3/a1,-(a7)
  1515.  lsr.w    #7,d0            ;/128
  1516.  lsr.w    #1,d1            ;/2
  1517.  and.w    #$ffc0,d1            ; YPos/128 * 64 = Row offset
  1518.                 ; afronden op 64 
  1519.  move.w    d1,d3
  1520.  add.l    d1,d1
  1521.  add.l    d3,d1            ; d1*3
  1522.  
  1523.  move.w    d0,d3
  1524.  lsr.w    #3,d3            ; Byte offset
  1525.  not.b    d0            ; DELETE OLD STAR
  1526.  andi.b    #7,d0
  1527.  add.w    d3,d1
  1528.  
  1529.  sub.l    #(290+128)*64,d1
  1530.  bclr    d0,0-2(a0,d1)
  1531.  bclr    d0,64-2(a0,d1)
  1532.  bclr    d0,128-2(a0,d1)
  1533.  
  1534.  movem.l    (a7)+,d0/d1/d3/a1
  1535.  
  1536.  move.w    (a6,d7.w),d5        ; Get sine value
  1537.  move.w    (a6,d6.w),d4        ; Get cosine value
  1538.  move.w    nummoves-dire-2(a3),d7        ; Distance
  1539.  muls    d7,d4
  1540.  muls    d7,d5
  1541.  
  1542.  asr.w    #5,d4
  1543.  asr.w    #5,d5
  1544.  
  1545.  add.w    d5,d0            ; Xpos
  1546.  add.w    d4,d1            ; Ypos
  1547.  move.w    d0,(a5)+            ; Xpos save
  1548.  move.w    d1,(a4)+            ; YPos save
  1549.  lsr.l    #7,d0            ; Xpos = Xpos/128 = Xpos
  1550.  lsr.l    #7,d1            ; Ypos = Ypos/128 = Ypos
  1551.  
  1552.  cmp.w    #352-2,d0
  1553.  bge.s    res
  1554.  cmp.w    #290-2,d1
  1555.  bge.s    res
  1556.  cmp.w    #2,d0
  1557.  ble.s    res
  1558.  cmp.w    #2,d1
  1559.  bgt.s    nores
  1560.  
  1561. res
  1562.  move.l    #176,d0
  1563.  move.w    #22352,-2(a5)        ; Save the pos'n
  1564.  move.l    #145,d1
  1565.  move.w    #16290,-2(a4)
  1566.  clr.w    nummoves-dire-2(a3)        ; Clear nummoves
  1567.  moveq    #0,d7
  1568. nores:
  1569.  add.w    #1,nummoves-dire-2(a3)
  1570.  
  1571.  lsl.w    #6,d1            ; * 64
  1572.  move.w    d1,d3
  1573.  add.l    d1,d1
  1574.  add.l    d3,d1            ; * 3
  1575.  
  1576.  move.w    d0,d3
  1577.  lsr.w    #3,d3            ; Divide by 8 = byte offset
  1578.  add.w    d3,d1
  1579.  not.b    d0
  1580.  andi.b    #7,d0
  1581.  
  1582.  sub.l    #(290+128)*64,d1        ;centre point
  1583.  
  1584.  lsr.w    #4,d7            ;/16
  1585.  beq.s    nopl3
  1586.  addq.b    #1,d7            ; Color is dependent upon dist
  1587.  cmpi.b    #7,d7
  1588.  ble.s    nofix
  1589.  moveq    #7,d7
  1590. nofix:
  1591.  lsr.b    #1,d7
  1592.  bcc.s    nopl1
  1593. setp1:
  1594.  bset    d0,0-2(a0,d1)        ; Set point
  1595. nopl1:
  1596.  lsr.b    #1,d7
  1597.  bcc.s    nopl2
  1598. setp2:
  1599.  bset    d0,64-2(a0,d1)
  1600. nopl2:
  1601.  lsr.b    #1,d7
  1602.  bcc.s    nopl3
  1603.  bset    d0,128-2(a0,d1)
  1604. nopl3:
  1605.  
  1606. NoDraw:
  1607.  dbf    d2,thelot
  1608.  rts
  1609.  
  1610. rotdirection    dc.b 0
  1611. rotway        dc.b 0
  1612.  
  1613.  cnop    0,2
  1614. dire:
  1615.  incbin    'videotracker:bin/dire.bin'
  1616. ; dc.w 468,624,524,574,52,352,326,76,684,506    ;110 
  1617. ; dc.w 382,698,230,688,672,384,406,482,504,532
  1618. ; dc.w 480,326,240,112,530,390,306,38,552,368
  1619. ; dc.w 406,532,476,166,334,92,348,38,260,410
  1620. ; dc.w 712,208,472,676,272,640,574,680,232,296
  1621. ; dc.w 304,526,156,158,548,490,514,672,188,372
  1622. ; dc.w 340,98,348,438,126,236,176,410,584,88
  1623. ; dc.w 6,52,120,512,378,670,440,398,516,312
  1624. ; dc.w 72,246,600,656,326,138,590,412,610,82
  1625. ; dc.w 706,418,442,500,612,274,164,48,254,200
  1626. dire.e
  1627.  
  1628.  cnop    0,2
  1629. nummoves:
  1630.  incbin    'videotracker:bin/nummoves.bin'
  1631. ; ds.w 100
  1632. nummoves.e
  1633.  
  1634.  cnop    0,2
  1635. posx:
  1636.  incbin    'videotracker:bin/posx.bin'
  1637. ; dc.w 29440,39296,33024,36096,3328,22144,20480,4736,43008,31872
  1638. ; dc.w 24064,43904,14464,43264,42240,24192,25472,30336,31744,33536
  1639. ; dc.w 30208,20480,15104,7040,33280,24576,19200,2432,34688,23168
  1640. ; dc.w 25472,33536,29952,10368,20992,5760,21888,2432,16384,25856
  1641. ; dc.w 44800,13056,29696,42496,17152,40320,36096,42880,14592,18688
  1642. ; dc.w 19200,33152,9856,9856,34560,30848,32384,42240,11776,23296
  1643. ; dc.w 21376,6144,21888,27520,7936,14848,11008,25728,36736,5632
  1644. ; dc.w 384,3200,7552,32256,23680,42240,27648,25088,32512,19584
  1645. ; dc.w 4608,15488,37760,41216,20480,8704,37120,25984,38400,5120
  1646. ; dc.w 44416,26240,27776,31488,38528,17280,10240,2944,15872,12544
  1647. posx.e
  1648.  
  1649.  cnop    0,2
  1650. posy:
  1651.  incbin    'videotracker:bin/posy.bin'
  1652. ; dc.w 15616,21376,30464,11904,6784,14208,29312,25472,9344,15872
  1653. ; dc.w 5376,32256,28160,13184,23680,19328,14592,23296,27648,11392
  1654. ; dc.w 2176,13440,10880,13056,20736,26496,1920,22528,19840,20224
  1655. ; dc.w 23424,22912,28032,8576,27648,12672,27264,15232,2816,12544
  1656. ; dc.w 30848,2432,22784,15232,6144,4736,11136,7680,1792,8576
  1657. ; dc.w 2048,2944,22016,4096,19328,13568,6016,11776,27392,1920
  1658. ; dc.w 12672,20480,21504,32512,20864,29952,28544,10368,32384,4992
  1659. ; dc.w 17920,13696,18688,0,15744,14720,7808,31360,32256,1024
  1660. ; dc.w 14976,22400,29824,6144,14720,18688,29184,18432,19328,18816
  1661. ; dc.w 28672,28928,1024,9344,29184,21120,19712,8960,1664,1920
  1662. posy.e
  1663.  
  1664.  cnop    0,2
  1665. sine:
  1666.  dc.w 0, 4, 8, 12
  1667.  dc.w 16, 22, 26, 30, 34, 40, 44, 48, 52, 56, 60, 66, 70
  1668.  dc.w 74, 78, 82, 86, 90, 94, 100, 104, 108, 112, 116, 120, 124, 128
  1669.  dc.w 130, 134, 138, 142, 146, 150, 154, 156, 160, 164, 166, 170 
  1670.  dc.w 174, 176, 180, 184, 186, 190, 192, 196, 198, 200, 204, 206
  1671.  dc.w 208, 212, 214, 216, 218, 220, 222, 226, 228, 230, 232, 232
  1672.  dc.w 234, 236, 238, 240, 242, 242, 244, 246, 246, 248, 248, 250, 250
  1673.  dc.w 252, 252, 252, 254, 254, 254, 254, 254, 254, 254, 256, 254
  1674.  dc.w 254, 254, 254, 254, 254, 254, 252, 252, 252, 250, 250, 248, 248
  1675.  dc.w 246, 246, 244, 242, 242, 240, 238, 236, 234, 232, 232, 230, 228
  1676.  dc.w 226,222,220,218,216,214,212,208,206,204,200,198,196
  1677.  dc.w 192,190,186,184,180,176,174,170,166,164,160,156,154,150
  1678.  dc.w 146, 142, 138, 134, 130, 126, 124, 120, 116, 112, 108, 104
  1679.  dc.w 100, 94, 90, 86, 82, 78, 74, 70, 66, 60, 56, 52, 48, 44, 40
  1680.  dc.w 34, 30, 26, 22, 16, 12, 8, 4,-2,-6,-10,-14,-18,-24,-28,-32,-36
  1681.  dc.w -42,-46,-50,-54,-58,-62,-68,-72,-76,-80,-84,-88,-92,-96,-102
  1682.  dc.w -106,-110,-114
  1683.  dc.w -118,-122,-126,-130,-132,-136,-140,-144,-148,-152,-156,-158,-162
  1684.  dc.w -166,-168,-172,-176,-178,-182,-186,-188,-192,-194,-198,-200,-202
  1685.  dc.w -206,-208,-210,-214,-216,-218,-220,-222,-224,-228,-230,-232,-234
  1686.  dc.w -234,-236,-238,-240,-242,-244,-244,-246,-248,-248,-250,-250,-252
  1687.  dc.w -252,-254,-254,-254,-256,-256,-256,-256,-256,-256,-256,-256,-256
  1688.  dc.w -256,-256,-256,-256,-256,-256,-254,-254,-254,-252,-252,-250,-250
  1689.  dc.w -248,-248,-246,-244,-244,-242,-240,-238,-236,-234,-234,-232,-230
  1690.  dc.w -228,-224,-222,-220,-218,-216,-214,-210,-208,-206,-202,-200,-198
  1691.  dc.w -194,-192,-188,-186,-182,-178,-176,-172,-168,-166,-162,-158,-156
  1692.  dc.w -152,-148,-144,-140,-136,-132,-128,-126,-122,-118,-114,-110,-106
  1693.  dc.w -102,-96,-92,-88,-84,-80,-76,-72,-68,-62,-58,-54,-50,-46,-42,-36
  1694.  dc.w -32,-28,-24,-18,-14,-10,-6
  1695. sine.e
  1696.  
  1697. ;pic_wid    equ    4        ;wide in bytes
  1698. ;pic_hgt    equ    6        ;hoogte
  1699. ;pic_dpt    equ    8        ;number planes
  1700. ;pic_ani    equ    10        ;aantal effes (anim)
  1701. ;pic_vew    equ    12        ;viewmode
  1702. ;pic_cycstr    equ    14        ;cycle start (*4)
  1703. ;pic_cycend    equ    15        ;cycle end (*4)
  1704. ;pic_cycspd    equ    16        ;cycle speed (*4)
  1705. ;pic_cycadd    equ    17        ;cycle add (*4)
  1706. ;pic_palnum    equ    30        ;aantal kleuren
  1707. ;pic_pal    equ    32        ;palette start
  1708. ;pic_palsiz    equ    256*2        ;vaste palette size
  1709. ;pic_raw    equ    pic_pal+pic_palsiz    ;palette start
  1710.  
  1711.  
  1712. rotpic1
  1713.     dc.l    'PICT'
  1714.     dc.w    64,290,3,1,0
  1715.     dc.b    0,0,0,0
  1716.     dc.b    0,0,0,0
  1717.     dc.b    0,0,0,0
  1718.     dc.b    0,0,0,0
  1719.     dc.w    8-1
  1720.     dc.w    $000,$111,$333,$555
  1721.     dc.w    $777,$999,$bbb,$ddd
  1722.     ds.w    256-8
  1723. rotpln1
  1724.     ds.b    3*64*290
  1725.  
  1726. rot.e
  1727.  
  1728. ;**********************************************************************
  1729.  
  1730. ;and here are the incbin-files....
  1731.  
  1732.         ifd    rout
  1733. ;        cnop    0,2
  1734. ;rotinc
  1735. ;        incbin    'videotracker:effect/skeleton_org.set'
  1736.         endc
  1737.         
  1738.